package com.itheima;


import com.itheima.dao.BookDao;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * 注解开发：
 * 本来bean是要在配置文件中配置的，但现在用注解开发，不能再配置文件中配置了，怎么办？
 *      在对应的类上加上@Component，@Component("bean的名字")
 * 新的问题来了，Spring中的配置删了，Spring如何知道那里写了个注解呢？      -->添加搜索     -->添加组件扫面，Spring会扫描指定路径下的包
 *
 * @Component的衍生注解
 * 1.@Controller请求处理层
 * 2.@Service逻辑处理曾
 * 3.@Resposity数据访问层
 *
 * 此时配置类中只有一个开启组件扫描的配置，仍然不能删除
 * 然而Spring可以定义一个配置类，从而免去配置文件
 *
 * 定义一个类SpringConfig，加上@Configuration注解声明他为一个配置类
 * 加上@ComponentScan("com.itheima")开启组件扫描
 *
 * 注解开发的话App类就不用加载配置文件了
 * 要换一种写法
 */
public class App {

    public static void main(String[] args) {
        ApplicationContext cx = new ClassPathXmlApplicationContext("applicationContext.xml");

        BookDao bookDao = cx.getBean("boookDao" , BookDao.class);

        bookDao.save();
    }
}
